/*
 * RadioStation.h
 *
 *  Created on: Dec 19, 2011
 *      Author: shaohong
 */

#ifndef RADIOSTATION_H_
#define RADIOSTATION_H_

#include <string>

using namespace std;

#include "RadioStreamer.h"

namespace nmps {

class RadioStation {
public:

	RadioStation();
	virtual ~RadioStation();

	void dumpRadioStreamerHistory(ostream & os);

	void saveRadioChannelHistory(string radioChannelHistory);

	void addActiveRadioChannel(RadioStreamer * radioStreamer);

	void removeActiveRadioChannel(RadioStreamer * radioStreamer);

	static RadioStation * instance();

	void stopAllActiveStations();

private:
	list<string> radioStreamerStatsHistory;
	list<RadioStreamer *> activeRadioStreamerList;
	static RadioStation *s_instance;
};

} /* namespace nmps */
#endif /* RADIOSTATION_H_ */
